1. Field
The present disclosure relates to data management and, in particular, to systems and methods for managing and controlling data stored on non-volatile, block-oriented data storage devices.
2. Description of the Related Art
With the increasing reliance and importance of electronic data, data management systems are playing a more critical role in the everyday lives of individuals and businesses. For instance, one individual may store data on several different devices, such as a smartphone, a hard disk, a flash drive and a media device. Moreover, each year, the capacity of these storage devices seems to increase significantly, as well as does the access speed, albeit at a slower rate. With this comes the challenge of effectively and efficiently managing large amounts of unstructured data across multiple platforms.
In the case of many conventional computer devices, unstructured data is stored, manipulated and managed through a file system that organizes data files in a hierarchical structure and maintains information on the locations of the various files. In such computer systems, generally all data operations are initiated by software applications running on a host computing device. One drawback that exists, however, is that file systems are not generally designed to perform file maintenance operations or other operations (e.g., read and write operations) on stored data in the absence of express instructions from software applications executing on the host computing device. For example, if a user wants a newly created document to be backed up to remote storage, an application must be executed that is capable of reading in the new document and copying it to a location on the remote storage. The file system does not perform a task such as this independently.
Each file system is also volume specific and controls and/or knows about files only within its associated volume. Thus, different file system volumes generally remain independent of each other, even if they are mounted by the same host computer's operating system. As an example, in order to copy a file from one volume to another, an application must read in the file from the source volume and write a copy of that file out to the destination volume. The file system does not maintain any links or references to other volumes or files in the computer system.
In addition to the above, in conventional computer systems, any application with the proper security access can create a file of any type in any folder within a storage volume as long as there is sufficient space to store the file. With proper permissions, an application can also delete or modify the contents of any existing file, even bypassing safeguards inherently provided by the operating system and/or file system. For instance, an application can move a file by renaming a portion of its identifier (e.g., pathname in the case of files) to reflect that the file belongs in a different folder. The application can also make copies of any file within the computer system without restraint at any given time.